<?php
	
	class EstagiosController extends AppController {
    	public $helpers = array('Html', 'Form');
    	public $uses = array('Estagio','Feed');

    	public function index() {
	        $this->set('estagios', $this->Estagio->find('all',  array('conditions' => array('user_id' => $this->Session->read('Auth.User.id')))));
	    }

	    public function adicionar() {
	        if ($this->request->is('post')) {
	            $this->Estagio->create();
	            $this->Feed->create();
		        $usuario = $this->User->find('all',  array('conditions' => array('id' => $this->Session->read('Auth.User.id')))); 
	            $this->request->data['Feed']['feed'] = $usuario[0]['User']['nome'] . " está estagiando em " . $this->request->data['Estagio']['nome_empresa'] . " localizado na " . $this->request->data['Estagio']['endereco'] . " com uma carga horária de " . $this->request->data['Estagio']['carga_horaria'] . " horas semanais.";
	            $this->request->data['Feed']['data'] = date('Y-m-d H:i:s');
	            $this->request->data['Feed']['id_user'] = $usuario[0]['User']['id'];
	            if ($this->Estagio->save($this->request->data['Estagio'])) {
	            	$this->Feed->save($this->request->data['Feed']);
	            	$this->Session->setFlash(__('Seu estágio foi salvo com sucesso'));
	                return $this->redirect(array('action' => 'index'));
	            }
	            $this->Session->setFlash(__('Não foi possível salvar seu estagio, tente novamente'));
	        }
    	}

    	public function editar($id = null) {
		    if (!$id) {
		        throw new NotFoundException(__('Nenhum estagio foi encontrado'));
		    }

		    $inst = $this->Estagio->findById($id);
		    if (!$inst) {
		        throw new NotFoundException(__('Nenhum estagio foi encontrado'));
		    }

		    if ($this->request->is(array('post', 'put'))) {
		    	$this->Feed->create();
		        $usuario = $this->User->find('all',  array('conditions' => array('id' => $this->Session->read('Auth.User.id')))); 
	            $this->request->data['Feed']['feed'] = $usuario[0]['User']['nome'] . " editou suas informações sobre estágio.";
	            $this->request->data['Feed']['data'] = date('Y-m-d H:i:s');
	            $this->request->data['Feed']['id_user'] = $usuario[0]['User']['id'];
		        $this->Estagio->id = $id;
		        if ($this->Estagio->save($this->request->data['Estagio'])) {
		        	$this->Feed->save($this->request->data['Feed']);
		            $this->Session->setFlash(__('Seu estagio foi atualizado'));
		            return $this->redirect(array('action' => 'index'));
		        }
		        $this->Session->setFlash(__('Não foi possível atualizar o seu estagio, tente novamente'));
		    }

		    if (!$this->request->data) {
		        $this->request->data = $inst;
		    }
		}

		public function deletar($id) {
		    if ($this->request->is('get')) {
		        throw new MethodNotAllowedException();
		    }

		    if ($this->Estagio->delete($id)) {
		    	$this->Feed->create();
		        $usuario = $this->User->find('all',  array('conditions' => array('id' => $this->Session->read('Auth.User.id')))); 
	            $this->request->data['Feed']['feed'] = $usuario[0]['User']['nome'] . " atualizou um relatório.";
	            $this->request->data['Feed']['data'] = date('Y-m-d H:i:s');
	            $this->request->data['Feed']['id_user'] = $usuario[0]['User']['id'];
	            $this->Feed->save($this->request->data['Feed']);
		        $this->Session->setFlash(
		            __('O estagio com id %s foi deletado.', h($id))
		        );
		        return $this->redirect(array('action' => 'index'));
		    }
		}

		public function ver($id = null) {
	        if (!$id) {
	            throw new NotFoundException(__('Estagio inválido'));
	        }

	        $estagios = $this->Estagio->findById($id);
	        if (!$estagios) {
	            throw new NotFoundException(__('Estagio inválido'));
	        }
	        $this->set('estagios', $estagios);
	    }
	}

?>